package com.sais.manage.boot.repair.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sais.manage.boot.repair.dto.RepairDTO;
import com.sais.manage.boot.repair.dto.RepairSaveDTO;
import com.sais.manage.boot.repair.dto.RepairSearchDTO;

import java.util.List;

/**
 * 宿舍管理系统-维修申请 service 接口
 *
 * @author zwp
 * @date 2020/2/2
 **/
public interface IRepairService {

    /**
     * 维修申请 保存
     *
     * @param repairSaveDTO
     * @return
     */
    boolean saveRepair(RepairSaveDTO repairSaveDTO);

    /**
     * 维修申请 更新
     *
     * @param repairSaveDTO
     * @return
     */
    boolean updateRepair(RepairSaveDTO repairSaveDTO);

    /**
     * 维修申请 添加
     *
     * @param repairSaveDTO
     * @return
     */
    boolean createRepair(RepairSaveDTO repairSaveDTO);

    /**
     * 维修申请 删除
     *
     * @param repairId
     * @return
     */
    boolean deleteRepair(String repairId);

    /**
     * 维修申请 查询
     *
     * @param repairId
     * @return
     */
    RepairDTO selectRepair(String repairId);

    /**
     * 维修申请 分页条件 查询
     *
     * @param current
     * @param size
     * @param repairSearchDTO
     * @return
     */
    Page<RepairDTO> listRepair(Integer current, Integer size, RepairSearchDTO repairSearchDTO);

    /**
     * 绑定 维修申请 和 物品
     *
     * @param repairId
     * @param propertyIds
     * @return
     */
    boolean bindRepairProperty(String repairId, List<String> propertyIds);

    /**
     * 更新 维修状态
     *
     * @param repairId
     * @return
     */
    boolean updateRepairStatus(String repairId);
}
